package com.xfp.service;

import com.xfp.pojo.dto.*;
import com.xfp.pojo.entity.Role;
import com.xfp.pojo.entity.User;
import com.xfp.pojo.vo.*;

import java.util.List;

public interface UserService {
    /**
     * 用户登录
     * @param dto
     * @return
     * @throws Exception
     */
    LoginUserVo login(LoginDto dto) throws Exception;

    /**
     * 查询角色列表
     * @return
     */
    List<Role> queryRole(RoleDto dto);

    /**
     * 人员分页
     * @param dto
     * @return
     */
    UserQueryVo pageUser(UserQueryDto dto);

    /**
     * 修改人员
     * @param id
     * @param dto
     */
    void updateUser(Long id, UserDto dto);

    /**
     * 获取用户基本信息d
     * @param id
     * @return
     */
    UserVo findUserById(Integer id);


    /**
     * 新增人员
     * @param dto
     */
    void insertUser(UserDto dto);

    /**
     * 删除人员
     * @param id
     */
    void deleteUser(Long id);

    /**
     * 创建人员工作量
     * @param dto
     * @return
     */
    SearchUserWorkVo searchUserWork(UserWorkPageDto dto);

    /**
     * 根据售货机获取运营人员列表
     * @param innerCode
     * @return
     */
    List<UserOperatorList> operatorList(String innerCode);

    /**
     * 根据售货机获取运维人员列表
     * @param innerCode
     * @return
     */
    List<UserOperatorList> repairerList(String innerCode);
}
